
Kıyaslama(Benchmarking), ile programın başarısı
ölçülür.

Algoritma analizi, tasarlanan program veya fonksiyonun
belirli bir işleme göre matematiksel ifadesini bulmaya dayanır.
|
Program çalışma hızı, program kodunun zaman açısından
başarımını; karmaşıklık ise, ilgili program kodunun parametre sayısına
bağlı olarak çalışma süresinin ve gerekli işlem sayısının artım miktarını
gösterir. Çalışma hızını belirlemek için, biri kıyaslama, diğeri algoritma
analizi olarak adlandırılan iki yol vardır:
- Kıyaslama (Benchmarking)
- Algoritma Analizi (Algorithm Analysis)
Birisi uygulamanın gerçekleştirilmesini,
diğeri ise bir bağıntı hesabı gerektirir. Kıyaslamada söz konusu algoritma
gerçekleştirilir ve örnek veri için koşturulur. Algoritma analizinde ise,
belirli bir veri yapısı için, söz konusu algoritmanın analizi yapılır
ve bir zaman bağıntısı bulunur. Analiz, algoritma gerçekleştirimi karmaşıklaştıkça
ciddi bir matematiksel birikim gerektirir.
Kıyaslama (Benchmarking)
Kıyaslama, geliştirilen programın önceden belirlenmiş örnek giriş değerleri
için çalışma hızını gösteren deneysel sınama sonucudur. Programa, giriş
değerleri olarak, her olası durumu içeren örnek giriş verileri uygulanır
ve bunlara karşı düşen başarı skoru elde edilir. Bu skor, çoğu zaman,
belirli bir maksimum değere göre orantılanmış bir gerçel veya tamsayıdır.
Örneğin en yüksek başarının 1.0 olduğu skor değerlendirmesinde başarım
sınaması sonucu 0,5 veya %50 çıkarsa yarı başarımlı olarak değerlendirilir.
Algoritma Analizi
Algoritma analizi, tasarlanan program veya fonksiyonun belirli bir işleme
göre matematiksel ifadesini bulmaya dayanır. Burada temel hesap birimi
seçilir ve programın görevini yerine getirebilmesi için bu işlemden kaç
adet yapılması gerektiğini bulmaya yarayan bir bağıntı hesaplanır. Eğer
bu bağıntı zamanla ilgiliyle çalışma hızını, bellek gereksinimiyle ilgiliyse
bellek gereksinimi ortaya koyar. Örneğin, n bağımsız değişken olmak
üzere T(n) yürütme zamanını, S(n) ise bellek gereksinimi
gösteren bağıntılardır. Eğer bir programın T(n) ve S(n)
bağıntıları hesaplanabiliyorsa o programın çeşitli model bilgisayar üzerindeki
çalışma hızı ve bellek gereksinimi kestirilebilir.
|